const db = wx.cloud.database();
const app = getApp();
var tag = 0;
var ansArr=[];
Page({
  data: {
    question: [],
    tags: 0,
    answer: '',
    choose:[],
    ansArr:[],
    nextText: '下一题',
    nextColor: 'red'

  },

  before: function(e) {
    tag = tag - 1;
    this.setData({
      pdColor: '' ,
      nextText: '下一题',
      nextColor: 'red'
    })
    if (tag < 0) {
      wx.showToast({
        title: '已经是第一题！',
        icon: 'none',
        duration: 2000
      })
      tag = 0;
    } else {
      this.setData({
        tags: tag,
      })
    }
  },
  // 加入易错题库
  join(e){
    var item = e.currentTarget.dataset.item // 自定义下标
    item['id']=  item['_id']
    delete item['_id'] // 删除数据库中自带的id
    wx.cloud.database().collection('error').where({
      id:item['id']
    }).get({
      success:res=>{
        if(res.data.length > 0){
          wx.showToast({
            title: '您已加入错题本',
            icon:'none'
          })
        }else{
          wx.cloud.database().collection('error').add({
            data:{
              ...item
            },
            success:res=>{
              wx.showToast({
                title: '加入成功',
              })
            }
          })
        }
    }

    })



  },
  next: function(e) {
    tag = tag + 1;
    // 交卷 按钮生成
    if (tag > this.data.question.length -2 ) {
      this.setData({
              nextText: '交卷',
              nextColor: 'green'
            })
}
    // 试卷提交
    if (tag > this.data.question.length - 1) {
      wx.showModal({
        title: '注意',
        content: '是否确定提交试卷？'
      }).then((go) => {
        console.log(go);
        if (go.confirm) {
          if( this.data.question.length === this.data.choose.length){
          // 答题完毕 把记录好的题目表 生成为 作业单
          db.collection('Fallibility').add({
            data:{...this.data.question}
          }).then(() => {
            // 提交成功 回滚到主页
            //先删除 本地分数 必须等老师打完分
            wx.removeStorageSync('fenShu')
            wx.switchTab({
              url: '/pages/index/index',
            })
          })
          return
        }else{
            
        wx.showToast({
          title:'请填写所有的题目！',
          icon:'none'
        })
        }
        }
      })
      tag = this.data.question.length - 1
    } else {
      this.setData({
        tags: tag
      })
    }
  },

  choose: function(res) {
    // 添加选中 为后面 判断是否题目都做了 做准备
    console.log(ansArr)
    let pdchoos = this.data.question[tag].options.every(v => !(v.checked))
   if(pdchoos){
     this.setData({
      choose:[...this.data.choose,true]
    })
   }
    
    console.log(this.data.choose)
    wx.cloud.database().collection('userInfo').get({
      success:res=>{
        if(res.data.length > 0){
          wx.cloud.database().collection('userInfo').doc(res.data[0]._id).update({
            data:{
              score:wx.cloud.database().command.inc(1)
            }
          }
            )
          
        }
      }
    })
    
    var index = res.currentTarget.dataset.index; //本次点击的下标
    var touch = res.currentTarget.dataset.value
    this.setData({
      answer: this.data.question[tag].answer,
    })

    let mTag = this.data.tags;
    // 点击修改 选项
    let chooseArr = this.data.question[mTag].options;
    let nowChecked = 'question[' + mTag + '].options'; //setData改变部分数据
    if (chooseArr[index].checked) return; //选择当前已经选择的返回
    chooseArr.forEach(item => { //遍历选项，将其他选项设置为false（单选）
      item.checked = false
    })
    chooseArr[index].checked = true;
    this.setData({
      [nowChecked]: chooseArr,
    })
    console.log(res)
    console.log(this.data.question[mTag].options)

  },


  onLoad: function(options) { 
    tag = 0
    db.collection('questionBank').get({
      success: e => {
        console.log(e)
        this.setData({
          question: e.data
        })
        var ansArr = []
        // 遍历生成 每个道题目的选中情况
        for (let i = 0; i < this.data.question.length;i++){
            // arr.push(false);
            this.data.question[i]['options'] = []
            this.data.question[i]['options'].push({
              checked:false,
              name:this.data.question[i].A,
              value:'A'
            })
            this.data.question[i]['options'].push({
              checked:false,
              name:this.data.question[i].B,
              value:'B'
            })
            this.data.question[i]['options'].push({
              checked:false,
              name:this.data.question[i].C,
              value:'C'
            })
            this.data.question[i]['options'].push({
              checked:false,
              name:this.data.question[i].D,
              value:'D'
            })

            // 生成答案数组
            ansArr.push(this.data.question[i].answer)
        }
        this.setData({
          ansArr:ansArr,
        })
        // 更新数据 
        this.setData({
          question:this.data.question
        })
        console.log(this.data.question);
      },
      fail: console.error
    })

    
  },

})